package Algorithms.Dynamic;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;

/*
 * @Author 罗俊
 * @date 2020/10/28 - 10:37 上午
 *
 */

/**
 * 用于记录当前任务的最优任务，所包含的的其他子任务id
 */

public class TaskRecord {

    List<Integer> containTaskIds;

    /**
     * 计算出当前任务的最优解（最大工资）
     * @param taskList
     * @return
     */
    public int getOptimizedValue(List<Task> taskList) {

        int optimizedValue = 0;
        for (Integer id : containTaskIds) {
            optimizedValue += taskList.get(id-1).getSalary();
        }
        return optimizedValue;
    }

    public List<Integer> getContainsTaskId() {

        return this.containTaskIds;
    }

    public TaskRecord() {
        this.containTaskIds = new ArrayList<Integer>();

    }

    @Override
    public String toString() {
        return containTaskIds.toString();
    }
}
